#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QTimer>

#include "agent.h"
#include "maze.h"

QT_BEGIN_NAMESPACE
namespace Ui
{
class MainWindow;
}
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow( QWidget* parent = nullptr );
    ~MainWindow();

protected:
    void paintEvent( QPaintEvent* event );

private slots:
    void updateAgent();

private:
    Ui::MainWindow* ui;
    Maze            maze;
    Agent           agent;
    QTimer          timer;
    QVector<QPoint> explorationPath;
};
#endif  // MAINWINDOW_H
